package com.dkd.manage.domain;

import java.util.Date;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import com.dkd.common.annotation.Excel;
import com.dkd.common.core.domain.BaseEntity;

/**
 * 设备管理对象 tb_vending_machine
 *
 * @author xwq
 * @date 2024-10-27
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ToString
@ApiModel(description = "设备管理对象")
public class VendingMachine extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    @ApiModelProperty(value = "主键", example = "1")
    private Long id;

    /** 设备编号 */
    @Excel(name = "设备编号")
    @ApiModelProperty(value = "设备编号")
    private String innerCode;

    /** 设备容量 */
    @ApiModelProperty(value = "设备容量", example = "10")
    private Long channelMaxCapacity;

    /** 点位Id */
    @ApiModelProperty(value = "点位ID", example = "1")
    private Long nodeId;

    /** 详细地址 */
    @Excel(name = "详细地址")
    @ApiModelProperty(value = "详细地址")
    private String addr;

    /** 上次补货时间 */
    @ApiModelProperty(value = "上次补货时间")
    private Date lastSupplyTime;

    /** 商圈类型 */
    @ApiModelProperty(value = "商圈类型")
    private Long businessType;

    /** 区域Id */
    @ApiModelProperty(value = "区域ID", example = "1")
    private Long regionId;

    /** 合作商Id */
    @Excel(name = "合作商Id")
    @ApiModelProperty(value = "合作商ID")
    private Long partnerId;

    /** 设备型号 */
    @Excel(name = "设备型号")
    @ApiModelProperty(value = "设备型号")
    private Long vmTypeId;

    /** 设备状态，0:未投放;1-运营;3-撤机 */
    @Excel(name = "设备状态，0:未投放;1-运营;3-撤机")
    @ApiModelProperty(value = "设备状态 (0: 未投放, 1: 运营, 3: 撤机)", allowableValues = "0, 1, 3")
    private Long vmStatus;

    /** 运行状态 */
    @ApiModelProperty(value = "运行状态")
    private String runningStatus;

    /** 经度 */
    @ApiModelProperty(value = "经度", example = "12345678")
    private Long longitudes;

    /** 维度 */
    @ApiModelProperty(value = "纬度", example = "87654321")
    private Long latitude;

    /** 客户端连接Id,做emq认证用 */
    @ApiModelProperty(value = "客户端连接ID，做emq认证用")
    private String clientId;

    /** 策略id */
    @ApiModelProperty(value = "策略ID", example = "1")
    private Long policyId;
}
